Multi transaction control system with update access counter owned by the transaction process at the start point to keep transaction consistency

ABSTRACT

To achieve a multi-transaction processing system which assumes real-time update having practical throughput being a requirement, in multi-transaction processing in which consistency should be maintained. An update access-counter technology is applied which assumes a time when a counter is returned to an initial value depending on the up-down counting of the counter identified by a process ID of a process that is a starting point of multi-transaction processing being the completion of one multi-transaction processing, thus solving the problem.

FIELD OF INVENTION

This system of the present invention relate generally to the field of the multi transaction control system with keeping transaction integrity.

BACKGROUND OF THE INVENTION

Past distributed database technology involved a trade-off between processing throughput, and securing of consistency related to the multi transaction processing. Two-phase commit technology have been applied to secure the said transaction consistency so far, however practicable throughput was not able to be obtained, moreover it is applied to practical use and little has been heard of anyone obtaining sufficient results. On the other hand, when two-phase commit technology is not used, possible multi transaction control of the database of a real-time update has not been put to practical use in the former technology.

The composition of general transaction system in which COMMIT is executed if all updates succeed, and in which ROLLBACK is done if as much as one update fails, is indicated in paragraph 0004 of patent document 4.

DESCRIPTION OF THE PRIOR ART

Japan Patent Application No. P2006-522052 (U.S. Pat. No. 6,845,384 filed on Nov. 21, 2003 and patented on Jan. 18, 2005 by USPTO) filed on Jul. 28, 2004 by JPO (henceforth Patent Reference Document 3).

Japan Patent No.3732113 disclosed on Nov. 29, 2002 and patented on Oct. 21, 2005 by JPO entitled ‘Transaction Control System, Method and Program’ (henceforth Patent Reference Document 4).

SUMMARY OF THE INVENTION

The method of securing the consistency of the multi and transaction processing in single said database domain for one aspect committing is described in Patent Reference Document 3.

It is described in Patent Reference Document 3 that 2 Phase Commit is necessary to secure the maintenance of the consistency of the multi transaction processing between said Database Domain plurality. Therefore, securing practicable throughput is difficult for multi transaction processing where consistency across two or more said Database Domains is maintained. As a method to secure multi transaction process consistency, the status of each transaction process comprising said multi transaction process holds the status information of the said status for each said single transaction, making it a very complicated process.

METHODS TO RESOLVE ISSUES

The update access counter characterized by being identified by process identifier that identifies process that becomes starting point of update access to identify a series of multiple transaction where consistency should be maintained is used in this invention. That is, this invention solves the problem by applying the update access counter technology of which time when the counter returned to an initial value will be considered complete of a series of multiple transaction processing where one consistency should be maintained, by ups and downs of the counter identified by process ID in the process that becomes the starting point of the multiple and transaction processing in stead of the multiple and transaction processing by one phase committing protocol by a unitary sharing of the status of each transaction by the coordinator described in patent document 3.

EFFECTS OF THE INVENTION

Instead of multi transaction processing by one-step commit protocol in the said domain by one dimensional sharing of each transaction status by the coordinator described in Patent Reference Document 3, the multi transaction process running on a plurality of database domains can be done at high speed by the counter returning to its initial value being recognized as completion of one multi transaction by up-down of the counter recognized by the process ID of the process that is the starting point during multi transaction processing across multiple database domains.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a component chart showing the structure of the distributed multi transaction processing apparatus described in claim 1 that applies shared counter method. (Embodiment 1)

FIG. 2 is a sequence chart showing where all update operations are successful in a multi transaction process using the shared counter method described in claim 1.

FIG. 3 is a sequence chart where the update operation fails partway in a multi transaction process using the shared counter method described in claim 1.

FIG. 4 is a component detail chart for distributed multi transaction process apparatus and database meta information repository management apparatus described in claim 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiment of the present invention is explained below using drawings. The present invention is not limited to this embodiment, and can be embodied in a variety of forms within a range that does not deviate from the gist.

Particularly concerning said database management system of the present invention, this does not depend on a relational database or object database and its shape, but in order to make the explanation simple, the present invention is illustrated as a relational database management system in the following embodiment. The definition of relational database system here is based on ‘creating a relation from exterior product of tuple and attribute’.

Embodiment 1: Using FIG. 1 and FIG. 2 and FIG. 3 and FIG. 4, said distributed multi transaction control system described in claim 1 applying the access counter technology is explained.

The distributed multi transaction control system characterized in below

located on the network 908, said distributed multi distributed transaction control system comprising:

one or more database object management apparatus/apparatuses 300 managing database/databases;

and one or more database object storage apparatus/apparatuses 200 corresponding to each said database object management apparatus/apparatuses 300 in order to store database/databases managed by said database object management apparatus/apparatuses 300;

and distributed multi transaction processing apparatus/apparatuses 900 for implementing and maintaining transaction consistency in distributed multi transaction processing;

and one or more database meta information management repository apparatus/apparatuses 400 in order to manage meta information held by said database/databases;

said one or more database meta information management repository apparatus/apparatuses 400 having:

update access counter/counters 903 which is/are characterized to be identified by the process identifier which identifies the process which is the starting point of one or more said update access/accesses requested;

like described in FIG. 4, said distributed multi transaction processing apparatus/apparatuses 900 has/have distributed multi transaction process executing portion 906 characterized in below:

in transaction processing for database object/objects which is/are requested from client computer/computers or server computer/computers to access as one or more update process/processes such as insertion or modification or deletion directly or indirectly , and is/are managed by database object management apparatus/apparatuses,

like described in FIG. 2, herein said update access counter 903 has initial value specified beforehand,

the count in said update access counter concerned which is identified by process identifier which identifies the process which is the starting point of said update access/accesses concerned is counted up by the constant number each time when update access/accesses is/are occurred requested by the process/processes or thread/threads on the client computer/computers or server computer/computers inside its/their own said database domain if said process/processes or thread/threads which is/are caused by the starting process itself or process/processes which is/are caused by the starting process, directly or indirectly exist/exists;

and the count in said update access counter which is identified by process identifier which identifies the process which is the starting point of said update access/accesses concerned is counted down by the constant number same as said constant number concerned each time when the information that actual update access succeeded reach to said distributed multi transaction processing apparatus/apparatuses;

and when the value of said counter concerned matches said initial value concerned, commit operation/operations is/are executed for all update access/accesses executed by the process/processes or thread/threads which is/are caused by the starting process itself or process/processes which is/are caused by the starting process directly or indirectly on the client computer/computers or server computer/computers inside its/their own database domain directly or indirectly;

and like described in FIG. 3, in case of that the information that actual update access failed reach to said distributed multi transaction processing apparatus/apparatuses, further update access/accesses is/are stopped, and without waiting for the result/results, rollback operation/operations for all update access/accesses executed already by the process/processes or thread/threads which is/are caused directly or indirectly by the starting process itself or process/processes or thread/threads if exists/exist on the client computer/computers or server computer/computers inside its/their own database domain is executed promptly.

INDUSTRIAL FIELD APPLICATION

Simple, high speed multi transaction processing is achieved in not only the huge database system but also the database system which does not require to use distributed database system. It is applicable to mange parts supply in factories or seat reservation of theaters, stadiums, trains, and air planes.

REFERENCE NUMERALS

-   100 database domain -   200 database object storage apparatus -   201, 202, 203 relation -   300 database object management apparatus -   400 database meta information repository management apparatus -   500 database meta information storage management portion -   600, 620 LAN, WAN TCP/IP network -   610 internet network -   700, 701, 702 and 703 terminal computer -   800 data storage -   900 distributed multi transaction processing apparatus -   903 update access counter -   906 distributed multi transaction process executing portion -   908 interface cable of TCP/IP network or ATA, FC etc. -   1000 Start Process -   1001 DB Update Process 1 -   1002 Issued Process 1 -   1003 DB Update Process 2 -   1004 Issued Process 2 -   1005 DB Update Process 3 -   1006 Distributed Multi Transaction Processor Device -   1007 Update Counter which belongs to Start Process ID -   1100 Orders DB Update -   1101 Informs Update Success -   1102 Orders making the Update Counter be UP -   1103 Orders making the Update Counter be DOWN -   1104 Message of All Commit Order -   1105 Kicks Other Process -   1106 Message to make the Counter Value be UP -   1107 Message to make the Counter Value be DOWN -   1108 The Counter Value Updated -   1109 Message to make the DB be Committed -   1110 The Counter is Released -   1111 Message of All Rollback Order -   1112 Message to make the DB be Roll backed -   1113 Initializes the Counter Value -   1114 Informs Update Failure -   1115 Message to make the Counter Value be Initialize -   1200 Update in Success -   1201 Update in Failure -   1202 Is the Counter Value equal to Initial Value ? 

1. The distributed multi transaction control system characterized in below located on the network, said distributed multi distributed transaction control system comprising: one or more database object management apparatus/apparatuses managing database/databases; and one or more database object storage apparatus/apparatuses corresponding to each said database object management apparatus/apparatuses in order to store database/databases managed by said database object management apparatus/apparatuses; and distributed multi transaction processing apparatus/apparatuses for implementing and maintaining transaction consistency in distributed multi transaction processing; and one or more database meta information management repository apparatus/apparatuses in order to manage meta information held by said database/databases; said one or more database meta information management repository apparatus/apparatuses having: update access counter/counters which is/are characterized to be identified by the process identifier which identifies the process which is the starting point of one or more said update access/accesses requested; said distributed multi transaction processing apparatus/apparatuses has/have distributed multi transaction process executing portion characterized in below: in transaction processing for database object/objects which is/are requested from client computer/computers or server computer/computers to access as one or more update process/processes such as insertion or modification or deletion directly or indirectly, and is/are managed by database object management apparatus/apparatuses, herein said update access counter has initial value specified beforehand, the count in said update access counter concerned which is identified by process identifier which identifies the process which is the starting point of said update access/accesses concerned is counted up by the constant number each time when update access/accesses is/are occurred requested by the process/processes or thread/threads on the client computer/computers or server computer/computers inside its/their own said database domain if said process/processes or thread/threads which is/are caused by the starting process itself or process/processes which is/are caused by the starting process, directly or indirectly exist/exists; and the count in said update access counter which is identified by process identifier which identifies the process which is the starting point of said update access/accesses concerned is counted down by the constant number same as said constant number concerned each time when the information that actual update access succeeded reach to said distributed multi transaction processing apparatus/apparatuses; and when the value of said counter concerned matches said initial value concerned, commit operation/operations is/are executed for all update access/accesses executed by the process/processes or thread/threads which is/are caused by the starting process itself or process/processes which is/are caused by the starting process directly or indirectly on the client computer/computers or server computer/computers inside its/their own database domain directly or indirectly; and in case of that the information that actual update access failed reach to said distributed multi transaction processing apparatus/apparatuses, further update access/accesses is/are stopped, and without waiting for the result/results, rollback operation/operations for all update access/accesses executed already by the process/processes or thread/threads which is/are caused directly or indirectly by the starting process itself or process/processes or thread/threads if exists/exist on the client computer/computers or server computer/computers inside its/their own database domain is executed promptly. 